1. Field
Disclosed embodiments relates to an apparatus and method for flow control, and more particularly, to a technique for controlling a flow in a software-defined network (SDN) environment.
2. Discussion of Related Art
Software-defined network (SDN) allows a flow (that is, a set of packets that have passed through a specific position on a network during a specific time) caused by data forwarding, which is processed with hardware, to be controlled with software. As the concept of SDN becomes commercially available, an SDN switch, which is implemented using a communication protocol (e.g., OpenFlow) that provides an interface with a network device for such data forwarding, has been developed.
An SDN switch may be utilized to control a flow according to a centralized policy. For example, network devices may be defined according to a policy for each flow. Accordingly, proxy devices that perform various functions on a network may be connected systematically, and also the network may be operated flexibly. In particular, network-function virtualization (NFV) technology is widespread, so that network devices are virtualized and virtual machines (VMs) are increasingly widely used. Thus, systematical connection among network devices is becoming more important.
As an example, an SDN switch may control a flow of compressed packets, which are not actually affected by deduplication, to pass through a proxy for transport acceleration and/or a proxy for Secure Sockets Layer (SSL) acceleration without passing through a proxy for deduplication.
Typically, proxy devices for performing the same function are provided to a client-side and a server-side in a path for packets between a client and a server to make a pair. For example, when a client-side proxy (CSP) uses a transport acceleration protocol to transport a flow, the flow should be processed using the same protocol by a server-side proxy (SSP) in order to achieve expected transport acceleration. Accordingly, there is a need to check whether a paired CCP and SSP are present in order to provide a service for the flow. This process is called proxy discovery. When there is an SSP matching a CSP, flow transport from the CSP to the SSP may be accelerated. When there is no SSP matching a CSP, the flow is delivered to a server without transport acceleration.
However, a conventional proxy discovery algorithm is not perfectly suitable for networks with various structures. Accordingly, there is still a need for proxy discovery for integratedly managing several network proxy devices connected to an SDN switch and a further need for an enhanced flow control technique.